From: Richard M. Stallman Date: Fri, 21 Jan 1994 06:34:16 +0000 (+0000) Subject: (S_ISDIR): Define if not defined. X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1^2~5^2~93410 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=0f2cd61fa58db97ef2f75156722466508b3cc983;p=emacs.git (S_ISDIR): Define if not defined. (file_p): Use S_ISDIR. (search_magic_path): Fix logic testing for empty path element. --- diff --git a/src/xrdb.c b/src/xrdb.c index 4c80d055536..d3f22c91610 100644 --- a/src/xrdb.c +++ b/src/xrdb.c @@ -55,6 +55,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */ #define MAXPATHLEN 256 #endif +#if !defined(S_ISDIR) && defined(S_IFDIR) +#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) +#endif + extern char *getenv (); /* This does cause trouble on AIX. I'm going to take the comment at @@ -320,7 +324,7 @@ file_p (path) return (access (path, 4) == 0 /* exists and is readable */ && stat (path, &status) == 0 /* get the status */ - && (status.st_mode & S_IFDIR) == 0); /* not a directory */ + && (S_ISDIR (status.st_mode)) == 0); /* not a directory */ } @@ -339,23 +343,18 @@ search_magic_path (search_path, class, escaped_suffix, suffix) for (p = s; *p && *p != ':'; p++) ; - if (*p == ':' && *(p + 1) == ':') + if (p > s) { - char *path; - - s = "%N%S"; - path = magic_file_p (s, strlen (s), class, escaped_suffix, suffix); + char *path = magic_file_p (s, p - s, class, escaped_suffix, suffix); if (path) return path; - - /* Skip the first colon. */ - p++; - continue; } - - if (p > s) + else if (*p == ':') { - char *path = magic_file_p (s, p - s, class, escaped_suffix, suffix); + char *path; + + s = "%N%S"; + path = magic_file_p (s, strlen (s), class, escaped_suffix, suffix); if (path) return path; }